package physicsModeler.objects;

import java.awt.Graphics;
import java.util.Random;

import physicsModeler.Vector;


abstract public class DrawObject {

	protected String name;
	protected float mass;
	protected int positionX, positionY, sizeX, sizeY, diameter, dx = 0, dy = 0;
	Vector position     = new Vector(), 
	   	   acceleration = new Vector(), 
	       velocity     = new Vector(); 
	
	protected int redValue,yellowValue,greenValue;

	public String getCategory() {
		return "ActiveObject";
	}


	public void setName(String name) {
		this.name = name;
	}






	public int getPositionX() {
		return positionX;
	}




	public void setPositionX(int positionX) {
		this.positionX = positionX;
	}




	public int getPositionY() {
		return positionY;
	}




	public void setPositionY(int positionY) {
		this.positionY = positionY;
	}




	public int getSizeX() {
		return sizeX;
	}




	public void setSizeX(int sizeX) {
		this.sizeX = sizeX;
	}




	public int getSizeY() {
		return sizeY;
	}




	public void setSizeY(int sizeY) {
		this.sizeY = sizeY;
	}




	public int getDiameter() {
		return diameter;
	}




	public void setDiameter(int diameter) {
		this.diameter = diameter;
	}




	public int getDx() {
		return dx;
	}




	public void setDx(int dx) {
		this.dx = dx;
	}




	public int getDy() {
		return dy;
	}




	public void setDy(int dy) {
		this.dy = dy;
	}

	protected int genColorRange()
	{
		Random random = new Random();
		
		int value;
		int minRange = 50;
		int maxRange = 255;
		
		value = minRange + (int)(Math.random() * ((maxRange - minRange) + 1));
		//value = random.nextInt() * range;
		//value = 255;
		return value;
	}


	abstract public void draw(Graphics g);
	
	abstract public String getName();

}